.timeline {
  list-style: none;
  margin: 0;
  padding: 0;
}
.timeline-item {
  position: relative;
  list-style: none;
  margin: 0;
  padding: 0 0 12px 0;
}
.timeline-item-dot {
  position: absolute;
  width: 13px;
  height: 13px;
  border: 1px solid #D4D4D4;
  border-radius: 50%;
  background-color: #ffffff;
}
.timeline-item-dot-custom {
  width: auto;
  height: auto;
  text-align: center;
  border: 0;
}
.timeline-item-line {
  position: absolute;
  height: 100%;
  top: 0;
  left: 6px;
  border-left: 1px solid #D4D4D4;
}
.timeline .timeline-item:last-child .timeline-item-line {
  display: none;
}
.timeline-item-content {
  padding: 1px 1px 10px 24px;
  position: relative;
  font-size: 14px;
  top: -3px;
  text-align: left;
}
.timeline-left .timeline-item-content {
  text-align: left;
}
.timeline-right .timeline-item-line {
  left: auto;
  right: 6px;
}
.timeline-right .timeline-item-dot {
  left: auto;
  right: 0;
}
.timeline-right .timeline-item-content {
  text-align: right;
  padding-left: 1px;
  padding-right: 24px;
}
.timeline-alternate .timeline-item-line {
  left: 50%;
}
.timeline-alternate .timeline-item-dot {
  left: 50%;
  margin-left: -6px;
}
.timeline-item-left .timeline-item-content {
  text-align: left;
  padding-right: 1px;
  padding-left: 50%;
  margin-left: 18px;
}
.timeline-item-right .timeline-item-content {
  text-align: right;
  padding-left: 1px;
  padding-right: 50%;
  margin-right: 18px;
}
.timeline-label .timeline-item-line {
  left: 50%;
}
.timeline-label .timeline-item-dot {
  left: 50%;
  margin-left: -6px;
}
.timeline-item-label {
  position: absolute;
  top: -3px;
  font-size: 14px;
}
.timeline-label.timeline-left .timeline-item-content {
  text-align: left;
  padding-right: 1px;
  padding-left: 50%;
  margin-left: 18px;
}
.timeline-label.timeline-left .timeline-item-label {
  text-align: right;
  right: 50%;
  margin-right: 18px;
}
.timeline-label.timeline-right .timeline-item-content {
  text-align: right;
  padding-left: 1px;
  padding-right: 50%;
  margin-right: 18px;
}
.timeline-label.timeline-right .timeline-item-label {
  text-align: left;
  left: 50%;
  margin-left: 18px;
}
.timeline-label.timeline-alternate .timeline-item-left .timeline-item-label {
  text-align: right;
  right: 50%;
  margin-right: 18px;
}
.timeline-label.timeline-alternate .timeline-item-right .timeline-item-label {
  text-align: left;
  left: 50%;
  margin-left: 18px;
}
